/*
Humanloop API

The Humanloop API allows you to interact with Humanloop from your product or service.

You can do this through HTTP requests from any language or via our official Python or TypeScript SDK.

To install the official [Python SDK](https://pypi.org/project/humanloop/), run the following command:

```bash
pip install humanloop
```

To install the official [TypeScript SDK](https://www.npmjs.com/package/humanloop), run the following command:

```bash
npm i humanloop
```

---

Guides and further details about key concepts can be found in [our docs](https://docs.humanloop.com/).

The version of the OpenAPI document: 4.0.1


NOTE: This file is auto generated by Konfig (https://konfigthis.com).
*/
import type * as buffer from "buffer"

import { DataResponse } from './data-response';
import { Usage } from './usage';

/**
 * 
 * @export
 * @interface CompletionResponse
 */
export interface CompletionResponse {
    /**
     * Unique identifier of the parent project. Will not be provided if the request was made without providing a project name or id
     * @type {string}
     * @memberof CompletionResponse
     */
    'project_id'?: string;
    /**
     * How many completions to make for each set of inputs.
     * @type {number}
     * @memberof CompletionResponse
     */
    'num_samples'?: number;
    /**
     * Include the log probabilities of the top n tokens in the provider_response
     * @type {number}
     * @memberof CompletionResponse
     */
    'logprobs'?: number;
    /**
     * The suffix that comes after a completion of inserted text. Useful for completions that act like inserts.
     * @type {string}
     * @memberof CompletionResponse
     */
    'suffix'?: string;
    /**
     * End-user ID passed through to provider call.
     * @type {string}
     * @memberof CompletionResponse
     */
    'user'?: string;
    /**
     * Array containing the generation responses.
     * @type {Array<DataResponse>}
     * @memberof CompletionResponse
     */
    'data': Array<DataResponse>;
    /**
     * Counts of the number of tokens used and related stats.
     * @type {Usage}
     * @memberof CompletionResponse
     */
    'usage'?: Usage;
    /**
     * Any additional metadata to record.
     * @type {object}
     * @memberof CompletionResponse
     */
    'metadata'?: object;
    /**
     * The raw responses returned by the model provider.
     * @type {Array<any>}
     * @memberof CompletionResponse
     */
    'provider_responses': Array<any>;
}

